//
//  TableViewController.m
//  TableViewCell边距缩进
//
//  Created by jyh on 2018/5/16.
//  Copyright © 2018年 huig. All rights reserved.
//

#import "TableViewController.h"
#import "TableViewCell.h"
#import "Model.h"

@interface TableViewController ()

@property (nonatomic, strong) NSMutableArray *arr;
@end

@implementation TableViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.rowHeight = 100;


}

- (NSMutableArray *)arr {
    if (!_arr) {
        NSArray *a = @[@{@"name":@"1"},@{@"name":@"1"},@{@"name":@"1"},@{@"name":@"1"},@{@"name":@"1"},@{@"name":@"1"},@{@"name":@"1"}];
        _arr = [NSMutableArray array];
        
        NSMutableArray *arrM = [NSMutableArray array];
        
        for (NSDictionary *dict in a) {
            Model *model = [Model modelWithDict:dict];
            [arrM addObject:model];
        }
        _arr = arrM;
    }
    
    return _arr;
}



#pragma mark - Table view data source

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {

//    UITableViewRowAction *act = [UITableViewRowAction rowActionWithStyle:(UITableViewRowActionStyleNormal) title:@"取消" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
//    }];
//    act.backgroundColor = [UIColor grayColor];

    UITableViewRowAction *detele = [UITableViewRowAction rowActionWithStyle:(UITableViewRowActionStyleDefault) title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

        // 方法2

        [self.arr removeObjectAtIndex:indexPath.row];
        // 删除指定tableview的行并刷新
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:(UITableViewRowAnimationLeft)];
        // 注意点: 删除某一行时务必先删除模型.

    }];

    return @[detele];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.arr.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    TableViewCell *cell = [TableViewCell tableViewCell:tableView];
    Model *model = self.arr[indexPath.row];
    cell.model = model;
    return cell;
}



@end
